﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ueEngine.Framework.Empires
{
    internal abstract class BaseBodyAnalyzer : IAnalyzable
    {
        #region BuildBody
        public override abstract string Analyzer(string identity, string fileStream, string templetePath);
        protected abstract string CorrectionBodySrc(string bodyStream, string templetePath);
        protected abstract string CorrectionBodyhref(string bodyStream, string templetePath);
        protected abstract string AnalyzerLabel(string bodyStream, string identity);
        protected abstract string FileHTML(string empelement, List<DefaultDataPack> data);
        protected abstract IEnumerable<CatchMode> FilterSource(string empelement);

        protected abstract LabelPack CatchLabel(string input);
        protected abstract ModePack GetCatchMode(string input);
        protected abstract string CatchLabelInnerText(string input);
        protected abstract string GetDataWithModePickerForTextMode(List<DefaultDataPack> data, int defrow, CatchMode pack);
        protected abstract string GetDataWithModePickerForRepeatMode(List<DefaultDataPack> data, CatchMode pack);
        protected abstract CatchMode CloneCatchMode(CatchMode target);
        #endregion
    }
}
